home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Floppyshop 2
/
Floppyshop - 2.zip
/
Floppyshop - 2.iso
/
diskmags
/
0022-3.564
/
dmg-0040
/
m26470.txt
< prev
next >
Wrap
Text File
|
1997-04-16
|
21KB
|
896 lines
Info-Atari16 Digest Thursday, September 14, 1989 Volume 89 : Issue 470
This weeks Editor: Bill Westfield
Today's Topics:
Re: Hard Drive
TOS 1.4 on disk
Modems and interfaces
Re: ROM disassembly for TOS -- A suggestion.
put pixel routine wanted
----------------------------------------------------------------------
Date: 12 Sep 89 12:22:27 GMT
From: philmtl!philabs!ttidca!woodside@uunet.uu.net (George Woodside)
Subject: Re: Hard Drive
To: info-atari16@score.stanford.edu
In article <89091023103918@masnet.uucp> calvin.bruner@canremote.uucp (CALVIN
BRUNER) writes:
>I have a peculiar question....does anyone know if you can label a hard
>drive segment as Drive "B", or is that reserved for floppys? I have a
>cartridge which only wants to access drives A or B, and wondered if just
>reformatting (ugh!) my hard drive and labelling one segment as B would
>do it?
>Thanks
>---
> * Via ProDoor 3.01R
It will fail.
Drives A, a, B, and b are floppies. Functions to those drives use
the floppy disk I/O vectors. Drive c is the cartridge port. Drives
C-P and d-p are all vectored through another set of vectors, referred
to as the hard disk vectors. In reality, they can be any type of
storage media. It need only add itself to the vector, and support the
proper functions.
Note that support of 'A', 'a', 'B', and 'b' do not constitute four drives,
only two. Drive 'C' is the only one with a case differentation. This
differentation is really only effective on the desktop. Most shells
normalize the case of drives and paths before calling the operating
system.
Consequentally, if you were able to designate a drive 'b' or 'B' on
your hard disk, you would be unable to access it. All calls to the drive
would go to the floppy disk vectors. If you had only one floppy drive,
you would get the "Insert disk B into drive A" prompts.
--
*George R. Woodside - Citicorp/TTI - Santa Monica, CA
*Path: ..! philabs|csun|psivax !ttidca!woodside
------------------------------
Date: 12 Sep 89 18:42:47 GMT
From: ucrmath!wardlaw@ucsd.edu (Johnie Wardlaw)
Subject: TOS 1.4 on disk
To: info-atari16@score.stanford.edu
Now that TOS 1.4 (aka Rainbow TOS) is available, does this mean that the disk
based beta version supplied to registered developers is "up for grabs"? I
would like to see how the new version affects my environment before committing
myself to the new ROM set. I know the question "Is it worth it?" has been
asked and answered but I would feel much better justifying the $100.00 upgrade
cost to my wife if I can SHOW her what it will fix/affect on our machine.
People are also complaining that they can't get the ROMs from their dealers
for a number of reasons. Wouldn't it be a good idea to release a disk based
version here on USENET and/or one of the pay services for those that are
sceptical (like me) or those that can't get the ROMs from the dealers?
Just a thought. I've been reading this newsgroup for years and I finally had
something to say.
-- Johnie Wardlaw
|INTERNET| wardlaw@ucrmath.ucr.edu |
| UUCP | ...ucsd!ucrmath!wardlaw | "If that was foreplay, I'm a dead man!"
|==SLOW==| 3971 Witt Avenue |
|==MAIL==| Riverside, CA 92501 | Alien Sex Scene - Cocoon
| PHONE | (714) 682-9859 |
------------------------------
Date: 12 Sep 89 15:57:32 GMT
From: rochester!rit!ultb!clf3678@louie.udel.edu (C.L. Freemesser)
Subject: Modems and interfaces
To: info-atari16@score.stanford.edu
Hello all!
I've received both some orders and some questions about the stuff for
sale. Let me clarify this here, because the mail facilities here at RIT
ROT IN HELL, and I can't send out e-mail properly.
To reiterate: The 850 interfaces are $45, modems are $40, $5 shipping
per item.
If you would like to order one or both of these items, do the following:
1) Write out a small note telling me what you would like to order,
where I should send it, and where you saw the ad for the stuff, to:
Chris Freemesser
223 Renouf Drive
Rochester, NY 14624
My phone number is (716)328-1703, so you can call me if you wish to,
or you can call my BBS (number in signature). Also, if you have
access, leave me a note on Bitnet or GEnie *INSTEAD* of E-mail here.
I have no problems replying on these networks, only on UseNet.
I will send out the stuff when I receive payment (check or money
order).
2) To those who have already sent payment: There will be a short delay
in receiving the interfaces. The shipment of power supplies for them
has been delayed by about 10 days. DO NOT FEAR! I will send these
items out ASAP. I have the modems, so they get sent out immediately.
Chris Freemesser, Rochester Institute of Technology | What I like :
BITNET: %clf3678@RITVAX GEnie: C.FREEMESSER | 1) My Atari ST
USENET: Just reply and hope it gets through | 2) My '77 Mercury
Call the ACORN BBS (716)436-3078, 300/1200 baud | 3) Coke Classic
------------------------------
Date: 12 Sep 89 17:52:30 GMT
From: hall!rosenkra@UMN-CS.CS.UMN.EDU (Bill Rosenkranz)
Subject: Re: ROM disassembly for TOS -- A suggestion.
To: info-atari16@score.stanford.edu
In article <1640@ns.network.com> logajan@ns.network.com (John Logajan) writes:
=
=ERGO, all you do is sell a customized disassebler which has tables of
=mnemonic labels and comments -- what all -- and your customer has to run
=it on his machine to generate his own listings.
though john's suggestion is (probably) legal (i think i've seen these sorts
of programs for the PC), the general idea is for atari to freely distribute
the code to either 1) developers for a small fee, 2) all for a small fee.
what is the big problem? everyone with an ST HAS the code on very accessible
ROMs.
-bill
rosenkra@boston.cray.com
------------------------------
Date: 12 Sep 89 17:42:32 GMT
From: hall!rosenkra@UMN-CS.CS.UMN.EDU (Bill Rosenkranz)
Subject: put pixel routine wanted
To: info-atari16@score.stanford.edu
---
someone wanted some non-GEM put pixel routine. here are some line-A calls
for C (written for alcyon/madmac, should work with sozobon)...
i wrote these a long time ago but they should be ok and be pretty fast.
if u really need speed, write in asm and inline these calls...
-bill
rosenkra@boston.cray.com
#! /bin/sh
: This is a shar archive. Extract with sh, not csh.
echo x - Readme
cat > Readme << '19165!Funky!Stuff!'
the linea functions here are callable from c. so far the basic ones are
written (init, get/put pixel, line, blit).
the test programs exercise the functions as follows:
tst1.ttp put random pixels (linea1) and lines (linea3)
tst2.ttp bit blit an image around the screen
they seem to work fine but i don't yet know all the side effects (i.e. which
regs get clobbered). tst2 never does an init (linea0).
the linea0 function could be expanded to pass all the pointers back thru
args. right now it just returns ptr to the linea structure. the init also
gives a ptr to the font header list as well as ptrs to the actual linea
functions though to use them directly, you must be in supervisor mode.
the line drawing demo is very fast.
so far, there is no need to be in supervisor mode to do these things.
the file "linea.h" is not needed. it does, however, present a list of all
the things in the line A structure in memory.
19165!Funky!Stuff!
echo x - Makefile
cat > Makefile << '19165!Funky!Stuff!'
CFLAGS = -new
T1_OBJS = tst1.o linea0.o linea1.o linea3.o
T2_OBJS = tst2.o linea7.o
all: tst1 tst2
tst1: tst1.ttp
tst2: tst2.ttp
tst1.ttp: $(T1_OBJS)
$(CC) -new -s -o tst1.ttp $(T1_OBJS)
@echo tst1.ttp (point and line tests) made
@echo execute with: tst1 500
tst2.ttp: $(T2_OBJS)
$(CC) -new -s -o tst2.ttp $(T2_OBJS)
@echo tst2.ttp (bit blit test) made
@echo execute with: tst2
tst1.o: tst1.c
tst2.o: tst2.c
linea0.o: linea0.s
linea1.o: linea1.s
linea3.o: linea3.s
linea7.o: linea7.s
19165!Funky!Stuff!
echo x - linea0.s
cat > linea0.s << '19165!Funky!Stuff!'
*
* linea0 - return long pointer to struct
*
* synopsis:
*
* ptr = (struct line_a *) linea0 ();
*
Init=$A000
.globl _linea0
.text
_linea0:
link a6,#0 * stack frame
movem.l a0-a2,-(a7) * save regs we clobber (except d0)
dc.w Init
* pointer to struct now in d0 and a0. a1 -> array of font headers, a2 -> array
* of linea functions
movem.l (a7)+,a0-a2 * restore regs
unlk a6 * fix stack frame
rts * d0 is pointer
.end
19165!Funky!Stuff!
echo x - linea1.s
cat > linea1.s << '19165!Funky!Stuff!'
*
* linea1 - put pixel
*
* synopsis:
*
* void linea1 (struct line_a *ptr, x, y, color);
*
* linea struct offsets:
INTIN=8
PTSIN=12
* args: (wrt stack frame ptr a6)
ptr=8
x=12
y=14
color=16
.globl _linea1
.text
_linea1:
link a6,#0
* movem.l a0,-(a7)
move.l ptr(a6),a0 * linea struct ptr
move.l INTIN(a0),a1
move.l PTSIN(a0),a2
move.w color(a6),(a1) * put color in intin table
move.l x(a6),(a2) * put coord in ptsin table
dc.w $A001 * draw pixel
* movem.l (a7)+,a0
unlk a6
rts
.end
19165!Funky!Stuff!
echo x - linea2.s
cat > linea2.s << '19165!Funky!Stuff!'
*
* linea2 - get pixel
*
* synopsis:
*
* int linea1 (struct line_a *ptr, x, y);
*
* linea struct offsets:
PTSIN=12
* args: (wrt stack frame ptr a6)
ptr=8
x=12
y=14
.globl _linea2
.text
_linea2:
link a6,#0
movem.l a0-a1,-(a7)
move.l ptr(a6),a0 * linea struct ptr
move.l PTSIN(a0),a1
move.l x(a6),(a1) * put coord in ptsin table
dc.w $A002 * get pixel. returns d0.w
movem.l (a7)+,a0-a1
unlk a6
rts
.end
19165!Funky!Stuff!
echo x - linea3.s
cat > linea3.s << '19165!Funky!Stuff!'
*
* linea3 - draw line
*
* synopsis:
*
* void linea3 (struct line_a *ptr, x1, y1, x2, y2, mode, mask, opt);
*
* uses line A to draw a line from x1,y1 to x2,y2.
*
* linea struct offsets:
CBIT0=24
CBIT1=26
CBIT2=28
CBIT3=30
LSTLIN=32
LNMASK=34
WMODE=36
X1=38
Y1=40
X2=42
Y2=44
* args: (wrt stack frame ptr a6)
ptr=8
x_1=12
y_1=14
x_2=16
y_2=18
mode=20
mask=22
opt=24
.globl _linea3
.text
_linea3:
link a6,#0
move.l ptr(a6),a0 * line A init (a0 -> structure)
move.w #1,CBIT0(a0) * plane 0 (all)
move.w #1,CBIT1(a0) * plane 1 (color only)
move.w #1,CBIT2(a0) * plane 2 (lo res only)
move.w #1,CBIT3(a0) * plane 3 (lo res only)
move.w opt(a6),LSTLIN(a0) * draw last pixel of line?
move.w mask(a6),LNMASK(a0) * line mask (solid=FFFF)
move.w mode(a6),WMODE(a0) * write mode (replace=0)
move.l x_1(a6),X1(a0) * coord of points
move.l x_2(a6),X2(a0)
dc.w $A003 * draw line
unlk a6
rts
.end
19165!Funky!Stuff!
echo x - linea7.s
cat > linea7.s << '19165!Funky!Stuff!'
*
* linea7 - bit blit
*
* synopsis:
*
* void linea7 (long blit_parm_block);
*
pblock=8
.globl _linea7
.text
_linea7:
link a5,#0 * set up a stack frame with a5
movem.l a6,-(a7) * save a6 since it is used
move.l pblock(a5),a6 * copy arg to a6 (-> blit parm block)
dc.w $A007 * do it...
movem.l (a7)+,a6 * restore a6
unlk a5
rts * returns nothing
.end
19165!Funky!Stuff!
echo x - tst1.c
cat > tst1.c << '19165!Funky!Stuff!'
/*#define DEBUG*/
#ifdef DEBUG
#include <stdio.h>
#endif
#include <osbind.h>
#ifndef void
#define void int
#endif
long linea0 ();
void linea1 ();
long atol ();
int rand ();
int rand_range ();
long lrand_range ();
long lrand ();
main(argc, argv)
int argc;
char *argv[];